/*
 * @Author: _oufen
 * @Date: 2023-07-11 20:23:19
 * @LastEditTime: 2023-07-18 14:08:58
 * @Description:  这是一个模板文件
 */
/**
 *************************************************************************************************************************
 * @file    bsp.c
 * @author  oufen
 * @version V1.0
 * @date    2023-07-10
 * @brief   6050中断引脚配置
 *************************************************************************************************************************
 * @attention
 *
 *
 *************************************************************************************************************************
 */

/* Includes -------------------------------------------------------------------------------------------------------------*/
#include "mpu_exti.h"
/* 定义 -----------------------------------------------------------------------------------------------------------------*/
float pitch, roll, yaw;

void MPU6050IntHandler(void) // MPU6050中断引脚中断服务函数
{
    uint32_t flag = GPIOIntStatus(GPIO_PORTD_BASE, true); // 读取中断状态

    if ((flag & GPIO_PIN_6) == GPIO_PIN_6)
    {
        GPIOIntClear(GPIO_PORTD_BASE, GPIO_PIN_6); // 清除中断标志PD0

        if (mpu_dmp_get_data(&pitch, &roll, &yaw) == 0)
        {
            // 此时欧拉角已更新,存在pitch,roll,yaw里面
        }
        red_on;
        printf("\n\r pitch=%0.2f roll=%0.2f yaw=%0.2f \n\r", pitch, roll, yaw);
    }
}

/**
 * @brief   6050中断引脚配置  PD6
 * @param 	无
 * @retval  无
 */
void MPU_exti_init(void)
{
    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);

    ROM_GPIOPinTypeGPIOInput(GPIO_PORTD_BASE, GPIO_PIN_6); // 配置输入模式

    ROM_GPIOPadConfigSet(GPIO_PORTD_BASE, GPIO_PIN_6, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU); // 上拉输入

    ROM_GPIOIntTypeSet(GPIO_PORTD_BASE, GPIO_PIN_6, GPIO_FALLING_EDGE); // 下降沿触发

    GPIOIntEnable(GPIO_PORTD_BASE, GPIO_PIN_6); // 使能PD6中断    	使能中断

    GPIOIntRegister(GPIO_PORTD_BASE, MPU6050IntHandler); // 注册中断函数

    // 设置优先级
    ROM_IntPrioritySet(INT_GPIOD, USER_INT1); // 优先级为   0x20
}
/*****************************************************END OF FILE*********************************************************/
